package s4
// TODO 69.Kotlin语言的可变Map集合学习
// 1.可变集合的操作 += [] put
// 2.getOrPut 没有的情况
// 3.getOrPut 有的情况
fun main() {
    // 1.可变集合的操作 += [] put
    val mMap :MutableMap<String,Double> = mutableMapOf<String,Double>(Pair("邹欣",23.7),"卢慧琳" to 20.43, "康家慧" to (21.45));
    // 下面是可变操作
    mMap+="王仪" to 21.8;
    mMap+="王新" to 20.8;
    mMap-="康家慧";
    mMap["王仪"]=22.2
    mMap.put("王璐瑶",20.1)// put 和 [] 等价的
    mMap.forEach { k,v->
        println("k:$k,v:$v")
    }
    println()
    // 2.getOrPut 没有有的情况
    // 如果整个map集合里面没有 FFF的key 元素，我就帮你先添加到map集合中去，然后再从map集合中获取
    val orPut = mMap.getOrPut("陈志莲") { 23.003 }
    println(orPut)
    mMap.forEach { k,v->
        println("k:$k,v:$v")
    }
    println()
    // 3.getOrPut 有的情况
    val r2 = mMap.getOrPut("卢慧琳") {20.47} // 发现Derry的key是有的，那么就直接获取出来， 相当于666备用值就失效了
    println(r2)
}